Traditionally, Internet service providers needed to build data centers or use existing data centers to host server computing devices. Examples of Internet service providers include, e.g., on-line storage providers, on-line multi-media content providers, on-line retail stores, on-line analysis providers, etc. Building data centers can be expensive because data centers often have large numbers of resources (e.g., servers, memory, storage, etc.) and require an information technology infrastructure and personnel to manage the servers. Moreover, it can be difficult to find locations offering high network bandwidth and such locations may charge a premium. Furthermore, because Internet service providers often cannot predict usage when they first offer their services, they initially install too few resources or too many resources. If they install too few resources, their users may find the offered services to be sluggish or the services may even “crash” and so become temporarily unavailable. On the other hand, if they install too many resources, the Internet service providers incur costs unnecessarily.
To enable Internet service providers to flexibly adapt their consumption of computing resources, an increasing number of cloud computing services have become available. Cloud computing services generally provide computing resources (e.g., hardware and/or software) as a service over a network (e.g., the Internet). By using a cloud computing service, an Internet service provider can increase or decrease consumption of resources according to the demand for the services they offer, e.g., dynamically as the demand increases or decreases. Various cloud computing service providers, e.g., AMAZON's EC2/S3 or MICROSOFT's AZURE, can provide different types of cloud services, including Infrastructure as a service (IaaS), Software as a service (SaaS), Platform as a service (PaaS), Network as a service (NaaS), Storage as a service (STaaS), Security as a service (SECaaS), Desktop as a service (DaaS), Database as a service (DBaas), or Test environment as a service (TEaaS), to their customers, e.g., cloud computing service clients or Internet service providers.
Internet service providers are increasingly using cloud computing services, e.g., so that they do not need to build sophisticated data centers. Cloud computing service providers typically charge their customers (“cloud computing service clients”) based on how much computing resources the customers have been allocated. Under such a payment scheme, customers who do not use all of the allocated resources still need to pay for the allocated resources.
Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.